home *** CD-ROM | disk | FTP | other *** search
/ PC Answers 1998 January / PC Answers Issue 49 Cover CD January 1998.iso / Apps / Director / DATA.Z / Widget Wizard.dir / WidgtBehaviors_92_Text Pager, text behavior.ls < prev    next >
Encoding:
Text File  |  1997-05-10  |  3.3 KB  |  69 lines

  1. property membermin, membermax, ImageCastLib, MemberMinCast, MemberMaxCast, currentCount, textCount, name, PrevButtonSprite, nextButtonSprite, spriteNum
  2.  
  3. on getPropertyDescriptionList
  4.   set description to [:]
  5.   if the currentSpriteNum = 0 then
  6.     set memdefault to 0
  7.   else
  8.     set memref to the member of sprite the currentSpriteNum
  9.     set castLibNum to the castLibNum of memref
  10.     set memdefault to member (the memberNum of member memref + 1) of castLib castLibNum
  11.   end if
  12.   addProp(description, #MemberMinCast, [#comment: "First Image:", #format: #field, #default: memdefault - 1])
  13.   addProp(description, #MemberMaxCast, [#comment: "Last Image:", #format: #field, #default: memdefault - 1])
  14.   addProp(description, #PrevButtonSprite, [#comment: "What channel is Previous Button: ", #format: #integer, #default: the currentSpriteNum + 1])
  15.   addProp(description, #nextButtonSprite, [#comment: "What channel is Next Button: ", #format: #integer, #default: the currentSpriteNum + 2])
  16.   return description
  17. end
  18.  
  19. on getBehaviorDescription
  20.   return "Prepares a sprite to use a Series of adjacent Bitmap castmembers to represent an set of mutually exclusive states that the user can cycle through.  See below for usage.  " & RETURN & "PARAMETERS:" & RETURN & "ΓÇó Item Name - ( optional ) name of this control." & RETURN & "ΓÇó First Image - number of first castmember in the sequence." & RETURN & "ΓÇó Last Image  - number of last castmember in the sequence." & RETURN & "ΓÇó Cycle Mode - specifies how images in cycle are repeated on subsequent iterations. The Repeat mode repeats the same sequence.  The Reverse mode cycles back through the sequence in reverse order." & RETURN & "ΓÇó Reverse Order - proceed from last to first image by default." & RETURN & "MESSAGES:" & RETURN & "ΓÇó CycleState - advance to the next image in the sequence, or the previous image, if the GoingDown property is true. & RETURN & "ΓÇó SetState state_number - advance directly to position state_number in the sequence."
  21. end
  22.  
  23. on getAssocMembers
  24.   set myPropList to []
  25.   repeat with x = the number of member MemberMinCast + 1 to the number of member MemberMaxCast
  26.     add(myPropList, the number of member x)
  27.   end repeat
  28.   return myPropList
  29. end
  30.  
  31. on beginSprite me
  32.   set the membermin of me to the number of member the MemberMinCast of me
  33.   set the membermax of me to the number of member the MemberMaxCast of me
  34.   set the textCount of me to the membermax of me - the membermin of me + 1
  35.   set the spriteNum of me to the spriteNum of me
  36.   set the currentCount of me to 1
  37.   set the ImageCastLib of me to the number of castLib the castLibNum of sprite the spriteNum of me
  38.   setstate(me, the currentCount of me)
  39. end
  40.  
  41. on endSprite me
  42.   puppetSprite(the spriteNum of me, 0)
  43. end
  44.  
  45. on setstate me, textNum
  46.   if textNum > textCount then
  47.     set textNum to textCount
  48.   else
  49.     if textNum < 1 then
  50.       set textNum to 1
  51.     end if
  52.   end if
  53.   set the member of sprite spriteNum to membermin + currentCount - 1
  54. end
  55.  
  56. on advanceText
  57.   set currentCount to currentCount + 1
  58.   setstate(currentCount)
  59.   sendSprite(PrevButtonSprite, #checkbutton)
  60.   sendSprite(nextButtonSprite, #checkbutton)
  61. end
  62.  
  63. on reverseText
  64.   set currentCount to currentCount - 1
  65.   setstate(currentCount)
  66.   sendSprite(PrevButtonSprite, #checkbutton)
  67.   sendSprite(nextButtonSprite, #checkbutton)
  68. end
  69.